package priv.yiyuan.example.composite;

/**
 * 文件系统中的组件接口
 *
 * @author YiYuan
 * @data 2025/8/27
 * @apoNote
 */
public interface FileSystemComponent {

    String getName();

    long getSize();

    void display(String indent);

    default void add(FileSystemComponent component) {
        throw new UnsupportedOperationException("叶子节点不包含子组件列表! ");
    }

    default void remove(FileSystemComponent component) {
        throw new UnsupportedOperationException("叶子节点不包含子组件列表! ");
    }

    default FileSystemComponent getChild(int i) {
        throw new UnsupportedOperationException("叶子节点不包含子组件列表! ");
    }


}
